#include <string>
#include <sstream>
#include <vector>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>

struct script{
    std::string scriptData;
    std::string fileName;
};

class pyScriptManager{
protected:
    std::vector<script*> scripts;
	pyScriptManager();
	pyScriptManager(const pyScriptManager&);
	pyScriptManager& operator =(const pyScriptManager&);
private:
	static pyScriptManager* pinstance;
public:
    bool loadScript(std::string fileName);
    std::string getScript(std::string fileName);
	static pyScriptManager* instance();
	~pyScriptManager();
};

pyScriptManager* PM();

void addSpaces(std::string* s, int spaces);

void loadScriptDirectory(const boost::filesystem::path & directory, bool recurse_into_subdirs);
